package com.movitech.mobile.ddzy.modules.bpm.bizvo;

import java.io.Serializable;
import java.util.Date;

import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;

public class FlowAndOperation implements Serializable{

	private static final long serialVersionUID = 1L;

	/**
	 * 流程与运营ID
	 */
	private Integer foId;
    
	/**
	 * 流程GUID
	 */
	private String foFlowGuid;
    
	/**
	 * 流程与运营审定文件编号
	 */
	private String foDocumentNo;
	
	/**
	 * 创建公司ID
	 */
	private String foCreateCompanyId;
	
	/**
	 * 创建公司编码
	 */
	private String foCreateCompanyCode;
    
	/**
	 * 创建公司名称
	 */
	private String foCreateCompany;

	/**
	 * 创建部门ID
	 */
	private String foCreateDepartmentId;

	/**
	 * 创建部门名称
	 */
	private String foCreateDepartment;

	/**
	 * 创建岗位ID
	 */
	private String foCreatePositionId;
	/**
	 * 创建岗位名称
	 */
	private String foCreatePosition;

	/**
	 * 创建人用户名
	 */
	private String foCreateUserName;

	/**
	 * 创建人真实姓名
	 */
	private String foCreateUserRealName;
    
	/**
	 * 创建时间
	 */
	private Date foCreateTime;

	/**
	 * 提交时间
	 */
	private Date foCommitTime;
    
	/**
	 * 公司名称
	 */
	private String foCompanyName;

	/**
	 * 项目名称
	 */
	private String foProjectName;

	/**
	 * 分期名称
	 */
	private String foStageName;

	/**
	 * 一级分项
	 */
	private String foFirstSubentry;

	/**
	 * 二级分项
	 */
	private String foSecondSubentry;

	/**
	 * 三级分项
	 */
	private String foThirdSubentry;

	/**
	 * 四级分项
	 */
	private String foFourthSubentry;

	/**
	 * 是否为事项
	 */
	private Integer foIsItem;

	/**
	 * 是否为决议
	 */
	private Integer foIsResolution;

	/**
	 * 是否为说明
	 */
	private Integer foIsNotice;

	/**
	 * 是否为会议纪要
	 */
	private Integer foIsMTMinutes;

	/**
	 * 是否为其它
	 */
	private Integer foIsOthers;

	/**
	 * 事项类别编码
	 */
	private String foItemKindCode;
	/**
	 * 事项说明
	 */
	private String foItemKindName;

	/**
	 * 附件说明
	 */
	private String foAttachNote;

	/**
	 * 当前审批信息
	 */
	private String foCurrentApproveInfo;

	/**
	 * 当前审批人接收时间
	 */
	private Date foCurrentApproverReceiveTime;

	/**
	 * 当前状态
	 * 详见FlowAndOperationStatusEnum
	 */
	private String foStatus;

	/**
	 * 计划预算内/外
	 */
	private String foBudgetary;

	/**
	 * 印章或证照类型
	 */
	private String foSeal;

	/**
	 * 是否为原件
	 */
	private Integer foSealOriginal;

	/**
	 * 是否为复印件
	 */
	private Integer foSealCopy;

	/**
	 * 印章或证照数量
	 */
	private Integer foSealCount;

	/**
	 * 印章或证照单位_处
	 */
	private Integer foSealUnitMark;

	/**
	 * 印章或证照单位_份
	 */
	private Integer foSealUnitCopy;

	/**
	 * 内容摘要
	 */
	private String foSummary;

	/**
	 * 标题
	 */
	private String foTitle;

	/**
	 * 正文内容
	 */
	private String foContent;

	/**
	 * 称呼
	 */
	private String foSalutation;

	/**
	 * 固定短语
	 */
	private String foFixExpression;

	/**
	 * 落款
	 */
	private String foInscribe;

	/**
	 * 落款日期
	 */
	private Date foInscribeDate;

	/**
	 * 关键业务表
	 */
	private String foRelatedTable;

	/**
	 * 关联业务ID
	 */
	private Integer foRelatedId;

	/**
	 * 是否咨询中
	 */
	private Integer foIsConsulting;

	/**
	 * 下一个执行环节
	 * 详见FlowAndOperationFlowProcessEnum
	 */
	private String foNextTransition;

	/**
	 * 最终审批人
	 * G:责任人
	 * C:控制人
	 * D:董事长或首席官
	 */
	private String foFinalApprover;

	/**
	 * 核算计划预算内/外
	 */
	private String foAccountedBudgetary;
	
	/**
	 * 流程与运营类型
	 */
	private String foType;
	
	/**
	 * 执行人用户名
	 */
	private String foExcutorUserName;

	/**
	 * 执行人姓名
	 */
	private String foExcutorRealName;

	/**
	 * 执行审核意见
	 */
	private String foExcutorIdea;

	/**
	 * 执行人接收时间
	 */
	private Date foExcutorReceiveTime;

	/**
	 * 执行人完成时间
	 */
	private Date foExcutorFinishTime;

	/**
	 * 责任人用户名
	 */
	private String foChargerUserName;

	/**
	 * 责任人姓名
	 */
	private String foChargerRealName;

	/**
	 * 责任人审核意见
	 */
	private String foChargerIdea;

	/**
	 * 责任人接收时间
	 */
	private Date foChargerReceiveTime;

	/**
	 * 责任人完成时间
	 */
	private Date foChargerFinishTime;

	/**
	 * 核算人用户名
	 */
	private String foAdjusterUserName;

	/**
	 * 核算人姓名
	 */
	private String foAdjusterRealName;

	/**
	 * 核算人核算意见
	 */
	private String foAdjusterIdea;

	/**
	 * 核算人接收时间
	 */
	private Date foAdjusterReceiveTime;

	/**
	 * 核算人完成时间
	 */
	private Date foAdjusterFinishTime;

	/**
	 * 控制人用户名
	 */
	private String foControllerUserName;

	/**
	 * 控制人姓名
	 */
	private String foControllerRealName;

	/**
	 * 控制人审核意见
	 */
	private String foControllerIdea;

	/**
	 * 控制人接收时间
	 */
	private Date foControllerReceiveTime;

	/**
	 * 控制人完成时间
	 */
	private Date foControllerFinishTime;

	/**
	 * 董事长或首席官用户名
	 */
	private String foChairmanUserName;

	/**
	 * 董事长或首席官姓名
	 */
	private String foChairmanRealName;

	/**
	 * 董事长或首席官核准意见
	 */
	private String foChairmanIdea;

	/**
	 * 董事长或首席官司接收时间
	 */
	private Date foChairmanReceiveTime;

	/**
	 * 董事长或首席官司完成时间
	 */
	private Date foChairmanFinishTime;
	/**是否加急*/
	private String foIsUrgent;
	
	/**影响流程路径的业务数据,存储形式：key=value*/
	private String foRelatedVar;
	
	/**是否有集团研发设计小组审核意见信息字段标识**/
	private Integer auditOpinionState;
	
	//标签信息
	private String foTagDetail;
	
    public String getFoTagDetail() {
		return foTagDetail;
	}

	public void setFoTagDetail(String foTagDetail) {
		this.foTagDetail = foTagDetail;
	}

	// Constructors
	
	/**
	 * 用于操作人员选择中心部门显示公司的字段
	 */
	private String foComName;
    // Constructors
	public FlowAndOperation() {
        super();
    }
    
	public String getFoIsUrgent() {
		return foIsUrgent;
	}

	public void setFoIsUrgent(String foIsUrgent) {
		this.foIsUrgent = foIsUrgent;
	}

	/**
	 * @return 获取_流程与运营ID
	 */
	public Integer getFoId() {
		return foId;
	}
   
	/**
	 * @param 设置_流程与运营ID
	 */
	public void setFoId(Integer foId) {
		this.foId = foId;
	}
	/**
	 * @return 获取_流程与运营流程GUID
	 */
	public String getFoFlowGuid() {
		return foFlowGuid;
	}
   
	/**
	 * @param 设置_流程与运营流程GUID
	 */
	public void setFoFlowGuid(String foFlowGuid) {
		this.foFlowGuid = foFlowGuid;
	}
	/**
	 * @return 获取_审定文件编号
	 */
	public String getFoDocumentNo() {
		return foDocumentNo;
	}
   
	/**
	 * @param 设置_审定文件编号
	 */
	public void setFoDocumentNo(String foDocumentNo) {
		this.foDocumentNo = foDocumentNo;
	}
	/**
	 * @return 获取_创建公司ID
	 */
	public String getFoCreateCompanyId() {
		return foCreateCompanyId;
	}
   
	/**
	 * @param 设置_创建公司ID
	 */
	public void setFoCreateCompanyId(String foCreateCompanyId) {
		this.foCreateCompanyId = foCreateCompanyId;
	}

	/**
	 * @return 获取_创建公司代码
	 */
	public String getFoCreateCompanyCode() {
		return foCreateCompanyCode;
	}
   
	/**
	 * @param 设置_创建公司代码
	 */
	public void setFoCreateCompanyCode(String foCreateCompanyCode) {
		this.foCreateCompanyCode = foCreateCompanyCode;
	}
	/**
	 * @return 返回 foCreateCompany。
	 */
	public String getFoCreateCompany() {
		return foCreateCompany;
	}
   
	/**
	 * @param foCreateCompany 要设置的 foCreateCompany。
	 */
	public void setFoCreateCompany(String foCreateCompany) {
		this.foCreateCompany = foCreateCompany;
	}
	/**
	 * @return 返回 foCreateDepartmentId。
	 */
	public String getFoCreateDepartmentId() {
		return foCreateDepartmentId;
	}
   
	/**
	 * @param foCreateDepartmentId 要设置的 foCreateDepartmentId。
	 */
	public void setFoCreateDepartmentId(String foCreateDepartmentId) {
		this.foCreateDepartmentId = foCreateDepartmentId;
	}
	/**
	 * @return 返回 foCreateDepartment。
	 */
	public String getFoCreateDepartment() {
		return foCreateDepartment;
	}
   
	/**
	 * @param foCreateDepartment 要设置的 foCreateDepartment。
	 */
	public void setFoCreateDepartment(String foCreateDepartment) {
		this.foCreateDepartment = foCreateDepartment;
	}
	/**
	 * @return 返回 foCreatePositionId。
	 */
	public String getFoCreatePositionId() {
		return foCreatePositionId;
	}
   
	/**
	 * @param foCreatePositionId 要设置的 foCreatePositionId。
	 */
	public void setFoCreatePositionId(String foCreatePositionId) {
		this.foCreatePositionId = foCreatePositionId;
	}
	/**
	 * @return 返回 foCreatePosition。
	 */
	public String getFoCreatePosition() {
		return foCreatePosition;
	}
   
	/**
	 * @param foCreatePosition 要设置的 foCreatePosition。
	 */
	public void setFoCreatePosition(String foCreatePosition) {
		this.foCreatePosition = foCreatePosition;
	}
	/**
	 * @return 返回 foCreateUserName。
	 */
	public String getFoCreateUserName() {
		return foCreateUserName;
	}
   
	/**
	 * @param foCreateUserName 要设置的 foCreateUserName。
	 */
	public void setFoCreateUserName(String foCreateUserName) {
		this.foCreateUserName = foCreateUserName;
	}
	/**
	 * @return 返回 foCreateUserRealName。
	 */
	public String getFoCreateUserRealName() {
		return foCreateUserRealName;
	}
   
	/**
	 * @param foCreateUserRealName 要设置的 foCreateUserRealName。
	 */
	public void setFoCreateUserRealName(String foCreateUserRealName) {
		this.foCreateUserRealName = foCreateUserRealName;
	}
	/**
	 * @return 返回 foCreateTime。
	 */
	public Date getFoCreateTime() {
		return foCreateTime;
	}
   
	/**
	 * @param foCreateTime 要设置的 foCreateTime。
	 */
	public void setFoCreateTime(Date foCreateTime) {
		this.foCreateTime = foCreateTime;
	}
	/**
	 * @return 返回 foCommitTime。
	 */
	public Date getFoCommitTime() {
		return foCommitTime;
	}
   
	/**
	 * @param foCommitTime 要设置的 foCommitTime。
	 */
	public void setFoCommitTime(Date foCommitTime) {
		this.foCommitTime = foCommitTime;
	}
	/**
	 * @return 返回 foCompanyName。
	 */
	public String getFoCompanyName() {
		return foCompanyName;
	}
   
	/**
	 * @param foCompanyName 要设置的 foCompanyName。
	 */
	public void setFoCompanyName(String foCompanyName) {
		this.foCompanyName = foCompanyName;
	}
	/**
	 * @return 返回 foProjectName。
	 */
	public String getFoProjectName() {
		return foProjectName;
	}
   
	/**
	 * @param foProjectName 要设置的 foProjectName。
	 */
	public void setFoProjectName(String foProjectName) {
		this.foProjectName = foProjectName;
	}
	/**
	 * @return 返回 foStageName。
	 */
	public String getFoStageName() {
		return foStageName;
	}
   
	/**
	 * @param foStageName 要设置的 foStageName。
	 */
	public void setFoStageName(String foStageName) {
		this.foStageName = foStageName;
	}
	/**
	 * @return 返回 foFirstSubentry。
	 */
	public String getFoFirstSubentry() {
		return foFirstSubentry;
	}
   
	/**
	 * @param foFirstSubentry 要设置的 foFirstSubentry。
	 */
	public void setFoFirstSubentry(String foFirstSubentry) {
		this.foFirstSubentry = foFirstSubentry;
	}
	/**
	 * @return 返回 foSecondSubentry。
	 */
	public String getFoSecondSubentry() {
		return foSecondSubentry;
	}
   
	/**
	 * @param foSecondSubentry 要设置的 foSecondSubentry。
	 */
	public void setFoSecondSubentry(String foSecondSubentry) {
		this.foSecondSubentry = foSecondSubentry;
	}
	/**
	 * @return 返回 foThirddSubentry。
	 */
	public String getFoThirdSubentry() {
		return foThirdSubentry;
	}
   
	/**
	 * @param foThirddSubentry 要设置的 foThirddSubentry。
	 */
	public void setFoThirdSubentry(String foThirdSubentry) {
		this.foThirdSubentry = foThirdSubentry;
	}
	/**
	 * @return 返回 foFourthSubentry。
	 */
	public String getFoFourthSubentry() {
		return foFourthSubentry;
	}
   
	/**
	 * @param foFourthSubentry 要设置的 foFourthSubentry。
	 */
	public void setFoFourthSubentry(String foFourthSubentry) {
		this.foFourthSubentry = foFourthSubentry;
	}
	/**
	 * @return 返回 foIsItem。
	 */
	public Integer getFoIsItem() {
		return foIsItem;
	}
   
	/**
	 * @param foIsItem 要设置的 foIsItem。
	 */
	public void setFoIsItem(Integer foIsItem) {
		this.foIsItem = foIsItem;
	}
	/**
	 * @return 返回 foIsResolution。
	 */
	public Integer getFoIsResolution() {
		return foIsResolution;
	}
   
	/**
	 * @param foIsResolution 要设置的 foIsResolution。
	 */
	public void setFoIsResolution(Integer foIsResolution) {
		this.foIsResolution = foIsResolution;
	}
	/**
	 * @return 返回 foIsNotice。
	 */
	public Integer getFoIsNotice() {
		return foIsNotice;
	}
   
	/**
	 * @param foIsNotice 要设置的 foIsNotice。
	 */
	public void setFoIsNotice(Integer foIsNotice) {
		this.foIsNotice = foIsNotice;
	}
	/**
	 * @return 返回 foIsMTMinutes。
	 */
	public Integer getFoIsMTMinutes() {
		return foIsMTMinutes;
	}
   
	/**
	 * @param foIsMTMinutes 要设置的 foIsMTMinutes。
	 */
	public void setFoIsMTMinutes(Integer foIsMTMinutes) {
		this.foIsMTMinutes = foIsMTMinutes;
	}
	/**
	 * @return 返回 foIsOthers。
	 */
	public Integer getFoIsOthers() {
		return foIsOthers;
	}
   
	/**
	 * @param foIsOthers 要设置的 foIsOthers。
	 */
	public void setFoIsOthers(Integer foIsOthers) {
		this.foIsOthers = foIsOthers;
	}

    public String getFoItemKindCode() {
		return foItemKindCode;
	}

	public void setFoItemKindCode(String foItemKindCode) {
		this.foItemKindCode = foItemKindCode;
	}

	public String getFoItemKindName() {
		return foItemKindName;
	}

	public void setFoItemKindName(String foItemKindName) {
		this.foItemKindName = foItemKindName;
	}
	/**
	 * @return 返回 foAttachNote。
	 */
	public String getFoAttachNote() {
		return foAttachNote;
	}
   
	/**
	 * @param foAttachNote 要设置的 foAttachNote。
	 */
	public void setFoAttachNote(String foAttachNote) {
		this.foAttachNote = foAttachNote;
	}
	/**
	 * @return 返回 foCurrentApproveInfo。
	 */
	public String getFoCurrentApproveInfo() {
		return foCurrentApproveInfo;
	}
   
	/**
	 * @param foCurrentApproveInfo 要设置的 foCurrentApproveInfo。
	 */
	public void setFoCurrentApproveInfo(String foCurrentApproveInfo) {
		this.foCurrentApproveInfo = foCurrentApproveInfo;
	}
	/**
	 * @return 返回 foCurrentApproverReceiveTime。
	 */
	public Date getFoCurrentApproverReceiveTime() {
		return foCurrentApproverReceiveTime;
	}
   
	/**
	 * @param foCurrentApproverReceiveTime 要设置的 foCurrentApproverReceiveTime。
	 */
	public void setFoCurrentApproverReceiveTime(Date foCurrentApproverReceiveTime) {
		this.foCurrentApproverReceiveTime = foCurrentApproverReceiveTime;
	}
	/**
	 * @return 返回 foStatus。
	 */
	public String getFoStatus() {
		return foStatus;
	}
   
	/**
	 * @param foStatus 要设置的 foStatus。
	 */
	public void setFoStatus(String foStatus) {
		this.foStatus = foStatus;
	}
	/**
	 * @return 返回 foBudgetary。
	 */
	public String getFoBudgetary() {
		return foBudgetary;
	}
   
	/**
	 * @param foBudgetIn 要设置的 foBudgetary。
	 */
	public void setFoBudgetary(String foBudgetary) {
		this.foBudgetary = foBudgetary;
	}
	
	/**
	 * @return 返回 foSeal。
	 */
	public String getFoSeal() {
		return foSeal;
	}
   
	/**
	 * @param foSeal 要设置的 foSeal。
	 */
	public void setFoSeal(String foSeal) {
		this.foSeal = foSeal;
	}
	/**
	 * @return 返回 foSealOriginal。
	 */
	public Integer getFoSealOriginal() {
		return foSealOriginal;
	}
   
	/**
	 * @param foSealOriginal 要设置的 foSealOriginal。
	 */
	public void setFoSealOriginal(Integer foSealOriginal) {
		this.foSealOriginal = foSealOriginal;
	}
	/**
	 * @return 返回 foSealCopy。
	 */
	public Integer getFoSealCopy() {
		return foSealCopy;
	}
   
	/**
	 * @param foSealCopy 要设置的 foSealCopy。
	 */
	public void setFoSealCopy(Integer foSealCopy) {
		this.foSealCopy = foSealCopy;
	}
	/**
	 * @return 返回 foSealCount。
	 */
	public Integer getFoSealCount() {
		return foSealCount;
	}
   
	/**
	 * @param foSealCount 要设置的 foSealCount。
	 */
	public void setFoSealCount(Integer foSealCount) {
		this.foSealCount = foSealCount;
	}
	/**
	 * @return 返回 foSealUnitMark。
	 */
	public Integer getFoSealUnitMark() {
		return foSealUnitMark;
	}
   
	/**
	 * @param foSealUnitMark 要设置的 foSealUnitMark。
	 */
	public void setFoSealUnitMark(Integer foSealUnitMark) {
		this.foSealUnitMark = foSealUnitMark;
	}
	/**
	 * @return 返回 foSealUnitCopy。
	 */
	public Integer getFoSealUnitCopy() {
		return foSealUnitCopy;
	}
   
	/**
	 * @param foSealUnitCopy 要设置的 foSealUnitCopy。
	 */
	public void setFoSealUnitCopy(Integer foSealUnitCopy) {
		this.foSealUnitCopy = foSealUnitCopy;
	}
	/**
	 * @return 返回 foSummary。
	 */
	public String getFoSummary() {
		return foSummary;
	}
   
	/**
	 * @param foSummary 要设置的 foSummary。
	 */
	public void setFoSummary(String foSummary) {
		this.foSummary = foSummary;
	}
	/**
	 * @return 返回 foTitle。
	 */
	public String getFoTitle() {
		return foTitle;
	}
   
	/**
	 * @param foTitle 要设置的 foTitle。
	 */
	public void setFoTitle(String foTitle) {
		this.foTitle = foTitle;
	}
	/**
	 * @return 返回 foContent。
	 */
	public String getFoContent() {
		return foContent;
	}
   
	/**
	 * @param foContent 要设置的 foContent。
	 */
	public void setFoContent(String foContent) {
		this.foContent = foContent;
	}
	/**
	 * @return 返回 foSalutation。
	 */
	public String getFoSalutation() {
		return foSalutation;
	}
   
	/**
	 * @param foSalutation 要设置的 foSalutation。
	 */
	public void setFoSalutation(String foSalutation) {
		this.foSalutation = foSalutation;
	}
	/**
	 * @return 返回 foFixExpression。
	 */
	public String getFoFixExpression() {
		return foFixExpression;
	}
   
	/**
	 * @param foFixExpression 要设置的 foFixExpression。
	 */
	public void setFoFixExpression(String foFixExpression) {
		this.foFixExpression = foFixExpression;
	}
	/**
	 * @return 返回 foInscribe。
	 */
	public String getFoInscribe() {
		return foInscribe;
	}
   
	/**
	 * @param foInscribe 要设置的 foInscribe。
	 */
	public void setFoInscribe(String foInscribe) {
		this.foInscribe = foInscribe;
	}
	/**
	 * @return 返回 foInscribeDate。
	 */
	public Date getFoInscribeDate() {
		return foInscribeDate;
	}
   
	/**
	 * @param foInscribeDate 要设置的 foInscribeDate。
	 */
	public void setFoInscribeDate(Date foInscribeDate) {
		this.foInscribeDate = foInscribeDate;
	}

	public String getFoRelatedTable() {
		if(foRelatedTable==null){
			return "";
		}else{
			return foRelatedTable;
		}
	}

	public void setFoRelatedTable(String foRelatedTable) {
		this.foRelatedTable = foRelatedTable;
	}
	
	/**
	 * @return 返回 foRelatedId。
	 */
	public Integer getFoRelatedId() {
		return foRelatedId;
	}
   
	/**
	 * @param foRelatedId 要设置的 foRelatedId。
	 */
	public void setFoRelatedId(Integer foRelatedId) {
		this.foRelatedId = foRelatedId;
	}
	/**
	 * @return 返回 foIsConsulting。
	 */
	public Integer getFoIsConsulting() {
		return foIsConsulting;
	}
   
	/**
	 * @param foIsConsulting 要设置的 foIsConsulting。
	 */
	public void setFoIsConsulting(Integer foIsConsulting) {
		this.foIsConsulting = foIsConsulting;
	}

	/**
	 * 获取下一环节
	 * @return
	 */
	public String getFoNextTransition() {
		return foNextTransition;
	}
	/**
	 * 设置下一环节
	 * @param foNextTransition
	 */
	public void setFoNextTransition(String foNextTransition) {
		this.foNextTransition = foNextTransition;
	}
	/**
	 * @return 返回 foFinalApprover。
	 */
	public String getFoFinalApprover() {
		return foFinalApprover;
	}
   
	/**
	 * @param foFinalApprover 要设置的 foFinalApprover。
	 */
	public void setFoFinalApprover(String foFinalApprover) {
		this.foFinalApprover = foFinalApprover;
	}
	
	/**
	 * @return 返回 foAccountedBudgetry。
	 */
	public String getFoAccountedBudgetary() {
		return foAccountedBudgetary;
	}
   
	/**
	 * @param foAccountedBudgetry 要设置的 foAccountedBudgetry。
	 */
	public void setFoAccountedBudgetary(String foAccountedBudgetary) {
		this.foAccountedBudgetary = foAccountedBudgetary;
	}

	/**
	 * 获取流程与运营类型
	 */
    public String getFoType() {
		return foType;
	}

	/**
     * 设置流程与运营类型
     * @param foType
     */
	public void setFoType(String foType) {
		this.foType = foType;
	}
	
	public String getFoExcutorUserName() {
		return foExcutorUserName;
	}

	public void setFoExcutorUserName(String foExcutorUserName) {
		this.foExcutorUserName = foExcutorUserName;
	}

	public String getFoExcutorRealName() {
		return foExcutorRealName;
	}

	public void setFoExcutorRealName(String foExcutorRealName) {
		this.foExcutorRealName = foExcutorRealName;
	}

	public String getFoExcutorIdea() {
		return foExcutorIdea;
	}

	public void setFoExcutorIdea(String foExcutorIdea) {
		this.foExcutorIdea = foExcutorIdea;
	}

	public Date getFoExcutorReceiveTime() {
		return foExcutorReceiveTime;
	}

	public void setFoExcutorReceiveTime(Date foExcutorReceiveTime) {
		this.foExcutorReceiveTime = foExcutorReceiveTime;
	}

	public Date getFoExcutorFinishTime() {
		return foExcutorFinishTime;
	}

	public void setFoExcutorFinishTime(Date foExcutorFinishTime) {
		this.foExcutorFinishTime = foExcutorFinishTime;
	}

	public String getFoChargerUserName() {
		return foChargerUserName;
	}

	public void setFoChargerUserName(String foChargerUserName) {
		this.foChargerUserName = foChargerUserName;
	}

	public String getFoChargerRealName() {
		return foChargerRealName;
	}

	public void setFoChargerRealName(String foChargerRealName) {
		this.foChargerRealName = foChargerRealName;
	}

	public String getFoChargerIdea() {
		return foChargerIdea;
	}

	public void setFoChargerIdea(String foChargerIdea) {
		this.foChargerIdea = foChargerIdea;
	}

	public Date getFoChargerReceiveTime() {
		return foChargerReceiveTime;
	}

	public void setFoChargerReceiveTime(Date foChargerReceiveTime) {
		this.foChargerReceiveTime = foChargerReceiveTime;
	}

	public Date getFoChargerFinishTime() {
		return foChargerFinishTime;
	}

	public void setFoChargerFinishTime(Date foChargerFinishTime) {
		this.foChargerFinishTime = foChargerFinishTime;
	}

	public String getFoAdjusterUserName() {
		return foAdjusterUserName;
	}

	public void setFoAdjusterUserName(String foAdjusterUserName) {
		this.foAdjusterUserName = foAdjusterUserName;
	}

	public String getFoAdjusterRealName() {
		return foAdjusterRealName;
	}

	public void setFoAdjusterRealName(String foAdjusterRealName) {
		this.foAdjusterRealName = foAdjusterRealName;
	}

	public String getFoAdjusterIdea() {
		return foAdjusterIdea;
	}

	public void setFoAdjusterIdea(String foAdjusterIdea) {
		this.foAdjusterIdea = foAdjusterIdea;
	}

	public Date getFoAdjusterReceiveTime() {
		return foAdjusterReceiveTime;
	}

	public void setFoAdjusterReceiveTime(Date foAdjusterReceiveTime) {
		this.foAdjusterReceiveTime = foAdjusterReceiveTime;
	}

	public Date getFoAdjusterFinishTime() {
		return foAdjusterFinishTime;
	}

	public void setFoAdjusterFinishTime(Date foAdjusterFinishTime) {
		this.foAdjusterFinishTime = foAdjusterFinishTime;
	}

	public String getFoControllerUserName() {
		return foControllerUserName;
	}

	public void setFoControllerUserName(String foControllerUserName) {
		this.foControllerUserName = foControllerUserName;
	}

	public String getFoControllerRealName() {
		return foControllerRealName;
	}

	public void setFoControllerRealName(String foControllerRealName) {
		this.foControllerRealName = foControllerRealName;
	}

	public String getFoControllerIdea() {
		return foControllerIdea;
	}

	public void setFoControllerIdea(String foControllerIdea) {
		this.foControllerIdea = foControllerIdea;
	}

	public Date getFoControllerReceiveTime() {
		return foControllerReceiveTime;
	}

	public void setFoControllerReceiveTime(Date foControllerReceiveTime) {
		this.foControllerReceiveTime = foControllerReceiveTime;
	}

	public Date getFoControllerFinishTime() {
		return foControllerFinishTime;
	}

	public void setFoControllerFinishTime(Date foControllerFinishTime) {
		this.foControllerFinishTime = foControllerFinishTime;
	}

	public String getFoChairmanUserName() {
		return foChairmanUserName;
	}

	public void setFoChairmanUserName(String foChairmanUserName) {
		this.foChairmanUserName = foChairmanUserName;
	}

	public String getFoChairmanRealName() {
		return foChairmanRealName;
	}

	public void setFoChairmanRealName(String foChairmanRealName) {
		this.foChairmanRealName = foChairmanRealName;
	}

	public String getFoChairmanIdea() {
		return foChairmanIdea;
	}

	public void setFoChairmanIdea(String foChairmanIdea) {
		this.foChairmanIdea = foChairmanIdea;
	}

	public Date getFoChairmanReceiveTime() {
		return foChairmanReceiveTime;
	}

	public void setFoChairmanReceiveTime(Date foChairmanReceiveTime) {
		this.foChairmanReceiveTime = foChairmanReceiveTime;
	}

	public Date getFoChairmanFinishTime() {
		return foChairmanFinishTime;
	}

	public void setFoChairmanFinishTime(Date foChairmanFinishTime) {
		this.foChairmanFinishTime = foChairmanFinishTime;
	}

	public String toString() {
        return new ToStringBuilder(this)
		    .append("foId", this.foId)
		    .append("foFlowGuid", this.foFlowGuid)
		    .append("foDocumentNo", this.foDocumentNo)
		    .append("foCreateCompanyId", this.foCreateCompanyId)
		    .append("foCreateCompanyCode", this.foCreateCompanyCode)
		    .append("foCreateCompany", this.foCreateCompany)
		    .append("foCreateDepartmentId", this.foCreateDepartmentId)
		    .append("foCreateDepartment", this.foCreateDepartment)
		    .append("foCreatePositionId", this.foCreatePositionId)
		    .append("foCreatePosition", this.foCreatePosition)
		    .append("foCreateUserName", this.foCreateUserName)
		    .append("foCreateUserRealName", this.foCreateUserRealName)
		    .append("foCreateTime", this.foCreateTime)
		    .append("foCommitTime", this.foCommitTime)
		    .append("foCompanyName", this.foCompanyName)
		    .append("foProjectName", this.foProjectName)
		    .append("foStageName", this.foStageName)
		    .append("foFirstSubentry", this.foFirstSubentry)
		    .append("foSecondSubentry", this.foSecondSubentry)
		    .append("foThirddSubentry", this.foThirdSubentry)
		    .append("foFourthSubentry", this.foFourthSubentry)
		    .append("foIsItem", this.foIsItem)
		    .append("foIsResolution", this.foIsResolution)
		    .append("foIsNotice", this.foIsNotice)
		    .append("foIsMTMinutes", this.foIsMTMinutes)
		    .append("foIsOthers", this.foIsOthers)
		    .append("foItemKindCode", this.foItemKindCode)
		    .append("foItemKindName", this.foItemKindName)
		    .append("foAttachNote", this.foAttachNote)
		    .append("foCurrentApproveInfo", this.foCurrentApproveInfo)
		    .append("foCurrentApproverReceiveTime", this.foCurrentApproverReceiveTime)
		    .append("foStatus", this.foStatus)
		    .append("foBudgetary", this.foBudgetary)
		    .append("foSeal", this.foSeal)
		    .append("foSealOriginal", this.foSealOriginal)
		    .append("foSealCopy", this.foSealCopy)
		    .append("foSealCount", this.foSealCount)
		    .append("foSealUnitMark", this.foSealUnitMark)
		    .append("foSealUnitCopy", this.foSealUnitCopy)
		    .append("foSummary", this.foSummary)
		    .append("foTitle", this.foTitle)
		    .append("foContent", this.foContent)
		    .append("foSalutation", this.foSalutation)
		    .append("foFixExpression", this.foFixExpression)
		    .append("foInscribe", this.foInscribe)
		    .append("foInscribeDate", this.foInscribeDate)
		    .append("foRelatedTable", this.foRelatedTable)
		    .append("foRelatedId", this.foRelatedId)
		    .append("foIsConsulting", this.foIsConsulting)
		    .append("foNextTransition", this.foNextTransition)
		    .append("foFinalApprover", this.foFinalApprover)
		    .append("foAccountedBudgetry", this.foAccountedBudgetary)
		    .append("foType", this.foType)
		    .append("foExcutorUserName", this.foExcutorUserName)
		    .append("foExcutorRealName", this.foExcutorRealName)
		    .append("foExcutorIdea", this.foExcutorIdea)
		    .append("foExcutorReceiveTime", this.foExcutorReceiveTime)
		    .append("foExcutorFinishTime", this.foExcutorFinishTime)
		    .append("foChargerUserName", this.foChargerUserName)
		    .append("foChargerRealName", this.foChargerRealName)
		    .append("foChargerIdea", this.foChargerIdea)
		    .append("foChargerReceiveTime", this.foChargerReceiveTime)
		    .append("foChargerFinishTime", this.foChargerFinishTime)
		    .append("foAdjusterUserName", this.foAdjusterUserName)
		    .append("foAdjusterRealName", this.foAdjusterRealName)
		    .append("foAdjusterIdea", this.foAdjusterIdea)
		    .append("foAdjusterReceiveTime", this.foAdjusterReceiveTime)
		    .append("foAdjusterFinishTime", this.foAdjusterFinishTime)
		    .append("foControllerUserName", this.foControllerUserName)
		    .append("foControllerRealName", this.foControllerRealName)
		    .append("foControllerIdea", this.foControllerIdea)
		    .append("foControllerReceiveTime", this.foControllerReceiveTime)
		    .append("foControllerFinishTime", this.foControllerFinishTime)
		    .append("foChairmanUserName", this.foChairmanUserName)
		    .append("foChairmanRealName", this.foChairmanRealName)
		    .append("foChairmanIdea", this.foChairmanIdea)
		    .append("foChairmanReceiveTime", this.foChairmanReceiveTime)
		    .append("foChairmanFinishTime", this.foChairmanFinishTime)
		    .append("foIsUrgent", this.foIsUrgent)
		    .append("foRelatedVar", this.foRelatedVar)
		    .append("auditOpinionState", this.auditOpinionState)
		    .append("foTagDetail", this.foTagDetail)
            .toString();
	}

	public boolean equals(Object obj) {
		if (!(obj instanceof FlowAndOperation)) {
            return false;
        }
        
        FlowAndOperation model = (FlowAndOperation) obj;
        return new EqualsBuilder().append(this.foId, model.foId).isEquals();
	}

	public int hashCode() {
		return new HashCodeBuilder(-82280557,-700257973)
		    .append(this.foId)
		    .append(this.foFlowGuid)
		    .append(this.foDocumentNo)
		    .append(this.foCreateCompany)
		    .append(this.foCreateDepartment)
		    .append(this.foCreatePosition)
		    .append(this.foCreateUserName)
		    .append(this.foCreateUserRealName)
		    .append(this.foCreateTime)
		    .append(this.foCommitTime)
		    .append(this.foCompanyName)
		    .append(this.foProjectName)
		    .append(this.foStageName)
		    .append(this.foFirstSubentry)
		    .append(this.foSecondSubentry)
		    .append(this.foThirdSubentry)
		    .append(this.foFourthSubentry)
		    .append(this.foIsItem)
		    .append(this.foIsResolution)
		    .append(this.foIsNotice)
		    .append(this.foIsMTMinutes)
		    .append(this.foIsOthers)
		    .append(this.foAttachNote)
		    .append(this.foCurrentApproveInfo)
		    .append(this.foCurrentApproverReceiveTime)
		    .append(this.foStatus)
		    .append(this.foBudgetary)
		    .append(this.foSeal)
		    .append(this.foSealOriginal)
		    .append(this.foSealCopy)
		    .append(this.foSealCount)
		    .append(this.foSealUnitMark)
		    .append(this.foSealUnitCopy)
		    .append(this.foSummary)
		    .append(this.foTitle)
		    .append(this.foContent)
		    .append(this.foSalutation)
		    .append(this.foFixExpression)
		    .append(this.foInscribe)
		    .append(this.foInscribeDate)
		    .append(this.foRelatedId)
		    .append(this.foIsConsulting)
		    .append(this.foNextTransition)
		    .append(this.foFinalApprover)
		    .append(this.foAccountedBudgetary)
		    .append(this.foType)
            .toHashCode();
	}

	public Integer getAuditOpinionState() {
		return auditOpinionState;
	}

	public void setAuditOpinionState(Integer auditOpinionState) {
		this.auditOpinionState = auditOpinionState;
	}

	public String getFoRelatedVar() {
		return foRelatedVar;
	}

	public void setFoRelatedVar(String foRelatedVar) {
		this.foRelatedVar = foRelatedVar;
	}

	public String getFoComName() {
		return foComName;
	}

	public void setFoComName(String foComName) {
		this.foComName = foComName;
	}

}
